1. Field of the Invention
This invention relates to file system presentations, and particularly to systems, methods, and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation.
2. Description of Background
In file system presentations there are mechanisms that allow the user to create shortcuts using the functionality of the system e.g. links, or create shortcuts in the presentation layer to go directly to one of the branches of the hierarchy. In database systems filtering is typically accomplished by writing some SQL, or interacting with some dialog interface to filter the data returned, which in turn modifies a query. For example, a user must interact with a dialog. navigate and reproduce the view they already have in their tree display to create a filter, which is exactly the problem that creating a filter should address.
When navigating large databases of hierarchical information, users must often traverse though multiple levels of the hierarchy to navigate to the location in the hierarchy in which they have an interest. Systems that do not persist the expansion of the hierarchy from one session to the next require that the user perform this navigation in any new session where they want to navigate to the same location. Systems that do persist the expansion do so at the expense of recreating the expansion automatically and filling the user interface with the hierarchy above the location of interest. In either approach, the representation of the hierarchy is complete from the root of the hierarchy down to the location of interest, often forcing the user to see a large amount of extraneous information.
There are many kinds of filtering mechanisms available in products available in the marketplace. For example, type based filters allow the user to pick from a list of object types they either want to include or exclude in the hierarchical display. Some filtering mechanisms allow the user to specify a logical expression that includes one or more properties of an object, and include or exclude objects where the expressions match. The Eclipse framework includes a mechanism called “Working Sets” that allows the user to arbitrarily choose nodes in the hierarchy to include in a named working set, and then specify which working set is visible in the hierarchy at any given time. In the Eclipse approach, the user must find the objects of interest in a popup dialog rather than immediately in the view they are operating in, and the resulting filtered view includes all objects between the selected objects and the root.